//package com.pro.common.service.pay.controller;
//
//import com.pro.common.api.R;
//import com.pro.common.service.pay.dao.UserRecharge;
//import com.pro.common.service.pay.model.dto.PayoutIO;
//import com.pro.common.service.pay.model.dto.UnifiedOrderRequest;
//import com.pro.common.service.pay.model.dto.UserTransferRequest;
//import io.swagger.v3.oas.annotations.media.Schema;
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//import org.springframework.web.bind.annotation.*;
//
//import java.io.IOException;
//
//public interface IPayController<RechargeResult, WithdrawResult> {
//
//    @Schema(description = "下单")
//    @GetMapping("unifiedOrder")
//    UserRecharge unifiedOrder(@PathVariable String MER_CODE, UnifiedOrderRequest requestVo, HttpServletRequest request, HttpServletResponse response) throws IOException;
//
//    @Schema(description = "支付回调")// 旧的灵活方式
//    default String notify(
//            @PathVariable String MER_CODE,
//            RechargeResult result,
//            HttpServletRequest request) {
//        return "empty";
//    }
//
//
//    @Schema(description = "代付")
//    @PostMapping("payout")
//    R<PayoutIO.Result> payout(@PathVariable String MER_CODE, @RequestBody UserTransferRequest requestVo, HttpServletRequest request, HttpServletResponse response);
//
//    @Schema(description = "代付回调")// 旧的灵活方式
////    @RequestMapping(value = "payout/notify", produces = "application/json;charset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST})
//    default String payoutNotify(
//            @PathVariable String MER_CODE,
//            WithdrawResult result,
//            HttpServletRequest request) {
//        return "empty";
//    }
//
//}
